package com.niiwoo.civet.user.dto.response;

import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Date;

/**
 * 查询face++肖像认证信息响应参数
 * @author xueyuke
 * @date 2017-11-24
 */
@Getter
@Setter
public class SearchFacePlusPortraitResponseDTO implements Serializable {
    private static final long serialVersionUID = -4801987234510040688L;

    /**
     * 用户id
     */
    private String userId;

    /**
     * 最佳人脸图
     */
    private String bestLiveImage;

    /**
     * 在配合MegLive SDK使用时，用于校验上传数据的校验字符串，此字符串会由MegLive SDK直接返回
     */
    private String liveImageDelta;

    /**
     * 最佳人脸照片和公安预留水纹照的对比置信度
     */
    private Double liveImageConfidence;

    /**
     * 最佳人脸照片和公安预留水纹照的对比置信度误识率. “1e-3”：误识率为千分之一的置信度阈值；“1e-4”：误识率为万分之一的置信度阈值；“1e-5”：误识率为十万分之一的置信度阈值; “1e-6”：误识率为百万分之一的置信度阈值。
     */
    private String liveImageThresholdLevel;

    /**
     * 最佳人脸照片和公安预留水纹照的对比置信度阈值
     */
    private Double liveImageThreshold;

    /**
     * 表示人脸照片为软件合成脸的置信度
     */
    private Double syntheticFaceConfidence;

    /**
     * 表示人脸照片为软件合成脸的置信度阈值。 如果synthetic_face_confidence < synthetic_face_threshold，可以认为人脸不是软件合成脸。
     */
    private Double syntheticFaceThreshold;

    /**
     * 表示人脸照片为面具的置信度
     */
    private Double maskConfidence;

    /**
     * 表示人脸照片为面具的置信度阈值。 如果mask_confidence < mask_threshold，可以认为人脸不是面具。
     */
    private Double maskThreshold;

    /**
     * 表示人脸照片为屏幕翻拍的置信度
     */
    private Double screenReplayConfidence;

    /**
     * 表示人脸照片为屏幕翻拍的置信度阈值。 如果screen_replay_confidence < screen_replay_threshold，可以认为人脸不是屏幕翻拍。
     */
    private Double screenReplayThreshold;

    /**
     * 身份证正面照和公安预留水纹照的对比置信度
     */
    private Double idImageConfidence;

    /**
     * 身份证正面照和公安预留水纹照的对比置信度误识率. “1e-3”：误识率为千分之一的置信度阈值；“1e-4”：误识率为万分之一的置信度阈值；“1e-5”：误识率为十万分之一的置信度阈值; “1e-6”：误识率为百万分之一的置信度阈值。
     */
    private String idImageThresholdLevel;

    /**
     * 身份证正面照和公安预留水纹照的对比置信度阈值
     */
    private Double idImageThreshold;

    /**
     * 表示检测出的一张人脸图像的质量，越高越好
     */
    private Double idImageQuality;

    /**
     * 表示FaceId建议的人脸图像质量阈值，大于此阈值可以认定图像质量足够完成比对
     */
    private Double idImageQualityThreshold;

    /**
     * 判别身份证号码是否曾被冒用来攻击FaceID活体检测，取值1表示曾被攻击、取值0表示未被攻击。
     */
    private Byte idCardAttacked;

    /**
     * 客户端类型: 1-android 2-ios 3-h5 4-web
     */
    private Byte clientType;

    /**
     * 客户端类型为h5或web时，使用此ID查询校验结果
     */
    private String bizId;

    /**
     * 审核人
     */
    private String auditor;

    /**
     * 审核时间
     */
    private Date auditTime;

    /**
     * 审核状态 参考 UserDataStatusEnum.PortraitAuthStatus
     */
    private Byte auditStatus;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 修改时间
     */
    private Date updateTime;
}
